Part Number Hot Search : 
TD62004P 89LPC LT691 01524 1590G TCDT1100 89LPC 16150YL
Product Description
Full Text Search
 

To Download MCP220011 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  ? 2011 microchip technology inc. ds22228b-page 1 mcp2200 features universal serial bus (usb) ? supports full-speed usb (12 mb/s) ? implements usb protocol composite device: - communication device class (cdc) for communications and configuration - human interface device (hid) for i/o control ? 128-byte buffer to handle data throughput at any uart baud rate: - 64-byte transmit - 64-byte receive ? fully configurable vid and pid assignments, and string descriptors ? bus powered or self-powered ? usb 2.0 compliant: tid 40001150 usb driver and software support ? uses standard windows ? drivers for virtual com port (vcp): windows xp (sp2 or later), vista, 7 ? configuration utility for initial configuration universal asynchronous receiver/transmitter (uart) ? responds to set line coding commands to dynamically change baud rates ? supports baud rates: 300-1000k ? hardware flow control ? uart signal polarity option general purpose input/output (gpio) pins ? eight general purpose i/o pins eeprom ? 256 bytes of user eeprom other ? usb activity led outputs (txled and rxled) ? sspnd output pin ? usbcfg output pin (indicates when the enumer- ation is completed) ? operating voltage: 3.0-5.5v ? oscillator input: 12 mhz ? esd protection: > 4 kv hbm ? industrial (i) operating temperature: -40c to +85c package types the device will be offered in the following packages: ? 20-lead qfn (5 x 5 mm) ? 20-lead soic ? 20-lead ssop 2 mcp2200 soic, ssop osc2 osc1 rst 1 2 3 4 20 1 9 1 8 1 7 v dd v ss d+ d- v usb gp7/txled 5 1 6 gp0/sspnd gp6/rxled 6 15 gp5 7 14 gp2 gp1/usbcfg mcp2200 5x5 qfn* gp6/rxled gp5 rst d- v usb gp3 gp0/sspnd tx rts rx gp1/usbcfg osc2 osc1 v dd v ss gp7/txled ep 20 1 1 9 1 8 1 7 3 4 1 5 1 4 1 3 12 6789 21 1 3 1 2 1 1 cts rx rts gp4 8 gp3 9 tx 10 d+ 1 6 gp4 gp2 5 11 cts 10 * includes exposed thermal pad (ep); see ta b l e 1 - 1 . usb 2.0 to uart protocol converter with gpio
mcp2200 ds22228b-page 2 ? 2011 microchip technology inc. block diagram uart controller usb protocol controller usb transceiver 3.3v ldo configuration and control registers osc reset control usb clock state clock gpio baud generator vss v usb rst v ss v dd rx tx cts rts d+ d- osc1 osc2 usb leds txled/ rxled/ gp0 gp1 gp2 gp3 gp4 gp5 256 byte eeprom gp7 gp6
? 2011 microchip technology inc. ds22228b-page 3 mcp2200 1.0 functional description the mcp2200 is a usb-to-uart serial converter which enables usb connectivity in applications that have a uart interface. the device reduces external components by integrating the usb termination resistors. the mcp2200 also has 256 bytes of integrated user eeprom. the mcp2200 has eight general purpose input/output pins. four pins have alternate functions to indicate usb and communication status. see tab l e 1 - 1 and section 1.6 ?gpio module? for details about the pin functions. table 1-1: pinout description pin name ssop, soic qfn pin type standard function alternate function gp0/sspnd 16 13 i/o general purpose i/o usb suspend status pin (refer to section 1.6.1.1 ) gp1/usb- cfg 15 12 i/o general purpose i/o usb configuration status pin (refer to section 1.6.1.2 ) gp2 14 11 i/o general purpose i/o gp3 9 6 i/o general purpose i/o gp4 8 5 i/o general purpose i/o gp5 7 4 i/o general purpose i/o gp6/rxled 6 3 i/o general purpose i/o usb receive activity led output (refer to section 1.6.1.3 ) gp7/txled 5 2 i/o general purpose i/o usb transmit activity led output (refer to section 1.6.1.4 ) rst 4 1 i reset input must be externally biased cts 13 10 i hardware flow control ?clear to send? input signal rx 12 9 i usart rx input rts 11 8 o hardware flow control ?request to send? output signal tx 10 7 o usart tx output v dd 118ppower v ss 20 17 p ground osc1 2 19 i oscillator input osc2 3 20 o oscillator output d+ 19 16 i/o usb d+ d- 18 15 i/o usb d- v usb 17 14 p usb power pin (internally connected to 3.3v). should be locally bypassed with a high quality ceramic capacitor. ep ? 21 ? exposed thermal pad (ep). do not electrically connect.
mcp2200 ds22228b-page 4 ? 2011 microchip technology inc. 1.1 supported operating systems windows xp (sp2 and later), vista, and windows 7 operating systems are supported. 1.1.1 enumeration the mcp2200 will enumerate as a usb device after power-on reset (por). the device enumerates as both a human interface device (hid) for i/o control, and a vcp. 1.1.1.1 hid the mcp2200 enumerates as an hid, so the device can be configured and the i/o can be controlled. a dll that facilitates i/o control through a custom interface is supplied by microchip. 1.1.1.2 vcp the vcp enumeration implements the usb-to-uart data translation. 1.2 control module the control module is the heart of the mcp2200. all other modules are tied together and controlled via the control module. the control module manages the data transfers between the usb and the uart, as well as command requests generated by the usb host controller, and commands for controlling the function of the uart and i/o. 1.2.1 serial interface the control module interfaces to the uart and usb modules. 1.2.2 interfacing to the device the mcp2200 can be accessed for reading and writing via usb host commands. the device cannot be accessed and controlled via the uart interface. 1.3 uart interface the mcp2200 uart interface consists of the tx and rx data signals and the rts /cts flow control pins. the uart is configurable for several baud rates. the available baud rates are listed in ta b l e 1 - 3 . 1.3.1 initial configuration the default uart configuration is 19200, 8, n, 1. the default start up baud rate can be changed using the microchip-supplied configuration pc tool. alternatively, a custom configuration tool can be created using the microchip-supplied dll to set the baud rate, as well as other parameters. see section 2.0 ?configuration? for details. 1.3.2 get/set line coding the get_line_coding and set_line_coding commands are used to read and set the uart parameters while in operation. for example, hyperterminal sends the set_line_command when connecting to the port. the mcp2200 responds by setting the baud rate only. the other parameters (data bits, parity, stop bits) remain unchanged. 1.3.2.1 rounding errors the primary baud rate setting (with the rounding errors) is shown in tab le 1 -3 . if baud rates other than the ones shown in the table are used, the error percentage can be calculated using equation 1-1 to find the actual baud rate. table 1-3: uart primary baud rates table 1-2: uart configurations parameter configuration primary baud rates see table 1-3 data bits 8 parity n stop bits 1 desired rate actual rate % error 300 300 0.00% 1200 1200 0.00% 2400 2400 0.00% 4800 4800 0.00% 9600 9600 0.00% 19200 19200 0.00% 38400 38339 0.16% 57600 57692 0.16% 115200 115385 0.16% 230400 230769 0.16% 460800 461538 0.16% 921600 923077 0.16%
? 2011 microchip technology inc. ds22228b-page 5 mcp2200 equation 1-1: solving for actual baud rate 1.3.3 custom baud rates custom baud rates are configured by sending the set_line_coding usb command, or by using the dll. see section 2.0 ?configuration? for more information. 1.3.4 hardware flow control hardware flow control uses the rts and cts pins as a handshake between two devices. the rts pin of one device is typically connected to the cts of the other device. rts is an active low output that notifies the other device when it is ready to receive data by driving the pin low. the mcp2200 trip point for de-asserting rts (high) is 63 characters. this is one character short of ?buffer full?. cts is an active low input that notifies the mcp2200 when it is ready to send data. the mcp2200 will check cts just before loading and sending uart data. if the pin is asserted during a transfer, the transfer will con- tinue. refer to figure 1.4 . figure 1-1: rts /cts connections example 1.3.4.1 flow control disabled the buffer pointer does not increment (or reset to zero) if the buffer is full. therefore, if hardware flow control is not enabled and an overflow occurs (i.e., 65 unprocessed characters received), the new data overwrites the last position in the buffer. 1.4 usb protocol controller the usb controller in the mcp2200 is full-speed usb 2.0 compliant. ? composite device (cdc + hid): - cdc: usb-to-uart communications - hid: i/o control, eeprom access and initial configuration ? 128 byte buffer to handle data throughput at any uart baud rate: - 64-byte transmit -64-byte receive ? fully configurable vid and pid assignments, and descriptors (stored on-chip) ? bus powered or self-powered 1.4.1 descriptors during configuration, the supplied pc interface stores the descriptors in the mcp2200. 1.4.2 suspend and resume the usb suspend and resume signals are supported for power management of the mcp2200. the device enters suspend mode when ?suspend signaling? is detected on the bus. the mcp2200 exits suspend mode when any of the following events occur: 1. ?resume signaling? is detected or generated 2. a usb ?reset? signal is detected 3. a device reset occurs 1.5 usb transceiver the mcp2200 has a built-in, usb 2.0, full-speed transceiver internally connected to the usb module. the usb transceiver obtains power from the v usb pin, which is internally connected to the 3.3v regulator. the best electrical signal quality is obtained when v usb is locally bypassed with a high quality ceramic capacitor. 1.5.1 internal pull-up resistors the mcp2200 devices have built-in pull-up resistors designed to meet the requirements for full-speed usb. 1.5.2 mcp2200 power options the following are the main power options for the mcp2200: ? usb bus powered (5v) ? 3.3v self powered actualrate 12 mhz int x ?? ------------------ - = where: x 12 mhz desiredbaud ---------------------------------- - = rts rts cts cts i am ready to receive i?ll transmit if okay i am ready to receive i?ll transmit if okay mcu mcp2200
mcp2200 ds22228b-page 6 ? 2011 microchip technology inc. 1.5.2.1 internal power supply details mcp2200 offers various options for power supply. to meet the required usb signaling levels, mcp2200 device incorporates an internal ldo used solely by the usb transceiver, in order to present the correct d+/d- voltage levels. figure 1-2 shows the internal connections of the usb transceiver ldo in relation with the v dd power supply rail. the output of the usb transceiver ldo is tied to the v usb line. a capacitor connected to the v usb pin is required if the usb transceiver ldo provides the 3.3v supply to the transceiver. figure 1-2: mcp2200 internal power supply details the provided v dd voltage has a direct influence on the voltage levels present on the gpio pins (rx/tx and rts /cts ). when v dd is 5v, all of these pins will have a logical ? 1 ? around 5v with the variations specified in section 3.1, dc characteristics . for applications that require a 3.3v logical ? 1 ? level, v dd must be connected to a power supply providing the 3.3v voltage. in this case, the internal usb trans- ceiver ldo cannot provide the required 3.3v power. it is necessary to also connect the v usb pin of the mcp2200 to the 3.3v power supply rail. this way, the usb transceiver is powered up directly from the 3.3v power supply. 1.5.2.2 usb bus powered (5v) in bus power only mode, all power for the application is drawn from the usb ( figure 1-3 ). this is effectively the simplest power method for the device. figure 1-3: bus power only in order to meet the inrush current requirements of the usb 2.0 specifications, the total effective capacitance appearing across v bus and ground must be no more than 10 f. if it is not more than 10 f, some kind of inrush limiting is required. for more details on inrush current limiting, search for that subject in the current universal serial bus specification . according to the usb 2.0 specification, all usb devices must also support a low-power suspend mode. in the usb suspend mode, devices must consume no more than 500 a (or 2.5 ma for high powered devices that are remote wake-up capable) from the 5v v bus line of the usb cable. the host signals the usb device to enter suspend mode by stopping all usb traffic to that device for more than 3 ms. the usb bus provides a 5v voltage. however, the usb transceiver requires 3.3v for the signaling (on d+ and d- lines). during usb suspend mode, the d+ or d- pull-up resistor must remain active, which will consume some of the allowed suspend current budget (500 a/2.5 ma). the v usb pin is required to have an external bypass capacitor. it is recommended that the capacitor be a ceramic cap, between 0.22 and 0.47 f. figure 1-4 shows a circuit where mcp2200?s internal ldo is used to provide 3.3v to the usb transceiver. the voltage on the v dd affects the voltage levels onto the gpio pins (rx/tx and rts /cts ). with v dd at 5v, these pins will have a logic ? 1 ? of 5v with the variations specified in section 3.1, dc characteristics . ldo 3.3v usb transceiver d+ v dd v usb d- in out v dd v usb v ss v bus
? 2011 microchip technology inc. ds22228b-page 7 mcp2200 figure 1-4: typical power supply option using the 5v provided by the usb 1.5.2.3 3.3v self powered typically, many embedded applications are using 3.3v power supplies. when such an option is available in the target system, mcp2200 can be powered up from the existing 3.3v power supply rail. the typical connections for mcp2200 are shown in figure 1-5 . in this example mcp2200 has both v dd and v usb lines tied to the 3.3v rail. these tied connections disable the internal usb transceiver ldo of the mcp2200 to reg- ulate the power supply on v usb pin. another conse- quence is that the ? 1 ? logical level on the gpio pins will be at the 3.3v level, in accordance with the variations specified in section 3.1, dc characteristics . figure 1-5: using an externally provided 3.3v power supply 1.6 gpio module the gpio module is a standard 8-bit i/o port. 1.6.1 configurable pin functions the pins can be configured as: ? gpio ? individually configurable general purpose input or output ? sspnd ? usb suspend state ? usbcfg ? indicates usb configuration status ? rxled ? indicates usb receive traffic ? txled ? indicates usb transmit traffic 1.6.1.1 sspnd pin function the sspnd pin (if enabled) reflects the usb state (suspend/resume). the pin is active ?low? when the suspend state has been issued by the usb host. likewise, the pin drives ?high? after the resume state is achieved. this pin allows the application to go into low power mode when usb communication is suspended, and switches to a full active state when usb activity is resumed. 1.6.1.2 usbcfg pin function the usbcfg pin (if enabled) starts out ?low? during power-up or after reset, and goes ?high? after the device successfully configures to the usb. the pin will go ?low? when in suspend mode and ?high? when the usb resumes. ldo 3.3v usb transceiver d+ v dd v usb d- in out 5v (usb bus) or external power supply ldo 3.3v d+ v dd v usb d- in out 5v (usb bus) or external power supply external usb transceiver 3.3v ldo
mcp2200 ds22228b-page 8 ? 2011 microchip technology inc. 1.6.1.3 rxled pin function (in message) the ?rx? in the pin name is in respect to the usb host. the rxled pin is an indicator for usb ?in? messages. this pin will either pulse low for a period of time (configurable for ~100 ms or ~200 ms), or toggle to the opposite state for every message received (in message) by the usb host. this allows the application to count messages or provide a visual indication of usb traffic. 1.6.1.4 txled pin function (out message) the ?tx? in the pin name is in respect to the usb host. the txled pin is an indicator for usb ?out? messages. this pin will either pulse low for a period of time (configurable for ~100 ms or ~200 ms), or toggle to the opposite state for every message transmitted (out message) by the usb host. this allows the application to count messages or provide a visual indication of usb traffic. 1.7 eeprom module the eeprom module is a 256 byte array of nonvolatile memory. the memory locations are accessed for read/write operations via usb host commands. refer to section 2.0 ?configuration? for details on access- ing the eeprom. the memory cells for data eeprom are rated to endure thousands of erase/write cycles, up to 100k for eeprom. data retention without refresh is conservatively estimated to be greater than 40 years. the host should wait for the write cycle to complete and then verify the write by reading the byte(s). 1.8 reset/por 1.8.1 reset pin the rst pin provides a method for triggering an external reset of the device. a reset is generated by holding the pin low. these devices have a noise filter in the reset path which detects and ignores small pulses. 1.8.2 por a por pulse is generated on-chip whenever v dd rises above a certain threshold. this allows the device to start in the initialized state when v dd is adequate for operation. to take advantage of the por circuitry, tie the rst pin through a resistor (1 kohm to 10 kohm) to v dd . this will eliminate external rc components usually needed to create a por delay. when the device starts normal operation (i.e., exits the reset condition), device operating parameters (voltage, frequency, temperature, etc.) must be met to ensure operation. if these conditions are not achieved, the device must be held in reset until the operating conditions are met. 1.9 oscillator the input clock must be 12 mhz to provide the proper frequency for the usb module. usb full-speed is nominally 12 mb/s. the clock input accuracy is 0.25% (2,500 ppm maximum). figure 1-6: quartz crystal operation figure 1-7: ceramic resonator operation quartz crystal 12 mhz osc1 osc2 r s ( 1 ) r f ( 2 ) mcp2200 note 1: a series resistor (r s ) may be required for quartz crystals with high drive level. 2: the value of r f is typically between 2m ? to 10 m ? .. example: murata cstce12m0g15l osc1 osc2 resonator 12 mhz mcp2200
? 2011 microchip technology inc. ds22228b-page 9 mcp2200 2.0 configuration the mcp2200 is configured by writing special commands using the hid interface. configuration can be achieved using the configuration utility provided by microchip. alternatively, a custom utility can be developed by using the dll available on the mcp2200 product page. 2.1 configuration utility the configuration utility provided by microchip allows the user to configure the mcp2200 to custom defaults. the configuration utility (shown in figure 2-1 ) connects to the device?s hid interface, where all of the configurable features can be set. 2.2 serial string the mcp2200 is supplied from the factory with a serialized usb serial string. table 2-1: configurat ion descriptions configuration name description vendor id (0x04d8) the usb vendor identification assigned to microchip by the usb consortium. product id (0x00df) device id assigned by microchip. the device can be used ?as-is?, or microchip can assign a custom pid by request. baud rate sets the uart baud rate using a list of primary baud rates. see the uart section for details on setting non-primary baud rates. io config individually configures the i/o to inputs or outputs. io default individually configures the output default state for pins configured as outputs. tx/rx leds enables/disables the gp6 and gp7 pins to function as usb traffic indicators. pins are active low when configured as traffic indicators. hardware flow control enables/disables cts and rts flow control. usbcfg pin enables/disables the gp1 pin as a usb configuration status indicator. suspend pin enables/disables the gp0 pin as a usb suspend status pin. invert sense enables/disables the uart lines states: - normal ? tx/rx idle high; cts /rts active low - inverted ? tx/rx idle low; cts /rts active high manufacturer string usb manufacturer string. product string usb product string.
mcp2200 ds22228b-page 10 ? 2011 microchip technology inc. figure 2-1: conf iguration utility
? 2011 microchip technology inc. ds22228b-page 11 mcp2200 2.3 simple configuration and i/o dll to help the user develop a custom configurator, microchip provides a dll that uses microsoft ? .net framework 3.5. there is documentation about drivers and utilities on the mcp2200 product page at www.microchip.com (in the software section) with information on associating the dll with a visual c++ project. 2.3.1 simple i/o dll calls table 2-2 lists the functions provided by the dll to allow the configuration of the device and control of the i/o. table 2-2: config uration functions category and function name initialization ( note 1 ) void initmcp2200(vid, pid) configuration ( note 2 ) bool configureio(mask) bool configureiodefaultoutput(mask, defaultgpiooutputvalue) bool fnrxled (off/toggle/blinkslow/blinkfast) bool fntxled (off/toggle/blinkslow/blinkfast) bool fnhardwareflowcontrol (on/off) bool fnuload(on/off) bool fnsuspend (on/off) bool configuremcp2200(mask, baudrate, rxledmode, txledmode, flowctrl, uload, suspend) bool configureio(mask) miscellaneous string^ getdeviceinfo(deviceindex) unsigned int getnoofdevices() int getselecteddevice() string^ getselecteddeviceinfo() bool isconnected() int selectdevice(uideviceno) int readeeprom(uieepaddress) int writeeeprom(uieepaddress, ucvalue) i/o control bool clearpin(pinnumber) bool setpin(pinnumber) bool readpin(pinnumber, *pinvalue) int readpinvalue(pinnumber) bool readport(*portvalue) int readportvalue() bool writeport(portvalue) summary bool simpleioclass::clearpin(unsigned int pin) section 2.3.1.1 bool simpleioclass::configureio (unsigned char iomap) section 2.3.1.2 bool simpleioclass::configureiodefaultoutput(unsigned char uciomap, unsigned char ucdefvalue ) section 2.3.1.3 bool simpleioclass::configuremcp2200 (unsigned char iomap, unsigned long baudrateparam, unsigned int rxledmode, unsigned int txledmode, bool flow, bool uload,bool sspnd) section 2.3.1.4 bool simpleioclass::fnhardwareflowcontrol (unsigned int onoff) section 2.3.1.5 note 1: prior to any dll api usage, a call to the initmcp2200() function is needed. this function is the only initialization function in the presented dll. 2: the configuration only needs to be set a single time ? it is stored in nvm.
mcp2200 ds22228b-page 12 ? 2011 microchip technology inc. 2.3.1.1 clearpin function: bool simpleioclass::clearpin (unsigned int pin) example 2-1: summary (continued) bool simpleioclass::fnrxled (unsigned int mode) section 2.3.1.6 bool simpleioclass::fnsetbaudrate (unsigned long baudrateparam) section 2.3.1.7 bool simpleioclass::fnsuspend(unsigned int onoff) section 2.3.1.8 bool simpleioclass::fntxled (unsigned int mode) section 2.3.1.9 bool simpleioclass::fnuload(unsigned int onoff) section 2.3.1.10 string^ simpleioclass::getdeviceinfo(unsigned int uideviceno) section 2.3.1.11 unsigned int simpleioclass::getnoofdevices(void) section 2.3.1.12 int simpleioclass::getselecteddevice(void) section 2.3.1.13 string^ simpleioclass::getselecteddeviceinfo(void) section 2.3.1.14 void simpleioclass::initmcp2200 (unsigned int vendorid, unsigned int productid) section 2.3.1.15 bool simpleioclass::isconnected() section 2.3.1.16 int simpleioclass::readeeprom(unsigned int uieepaddress) section 2.3.1.17 bool simpleioclass::readpin(unsigned int pin, unsigned int *returnvalue) section 2.3.1.18 int simpleioclass::readpinvalue(unsigned int pin) section 2.3.1.19 bool simpleioclass::readport(unsigned int *returnvalue) section 2.3.1.20 int simpleioclass::readportvalue() section 2.3.1.21 int simpleioclass::selectdevice(unsigned int uideviceno) section 2.3.1.22 bool simpleioclass::setpin(unsigned int pin) section 2.3.1.23 int simpleioclass::writeeeprom(unsigned int uieepaddress, unsigned char ucvalue) section 2.3.1.24 bool simpleioclass::writeport(unsigned int portvalue) section 2.3.1.25 constants const unsigned int off = 0; const unsigned int on = 1; const unsigned int toggle = 3; const unsigned int blinkslow = 4; const unsigned int blinkfast = 5; summary: clears the specified pin. description: clears the specified pin to logic ? 0 ?. precondition: this pin must be previously configured as an output via a configureio or configureiodefaultoutput call. parameters: pin - the pin number to set (0-7). returns: this function returns true if the transmission is successful and returns false if the transmission fails. remarks: none table 2-2: configuration functions (continued) category and function name note 1: prior to any dll api usage, a call to the initmcp2200() function is needed. this function is the only initialization function in the presented dll. 2: the configuration only needs to be set a single time ? it is stored in nvm. if (simpleioclass::clearpin (2)) { lblstatusbar->text = ?success?; } else lblstatusbar->text = ?invalid command ? + simpleioclass::lasterror;
? 2011 microchip technology inc. ds22228b-page 13 mcp2200 2.3.1.2 configureio function: bool simpleioclass::configureio (unsigned char iomap) example 2-2: 2.3.1.3 configureiodefaultoutput function: bool simpleioclass::configureiodefaultoutput (unsigned char uciomap, unsigned char ucdefvalue) example 2-3: summary: configures the gpio pins for digital input, digital output. description: gpio pins can be configured as digital input, digital output. precondition: vid and pid must be previously set via a call to initmcp2200(vid, pid) . parameters: iomap - a byte that represents a bitmap of the gpio configuration: ? a bit set to ? 1 ? will be a digital input ? a bit set to ? 0 ? will be a digital output ? msb ? ? ? ? ? ? lsb gp7 gp6 gp5 gp 4 gp3 gp2 gp1 gp0 returns: this function returns true if the transmission is successful and returns false if the transmission fails. remarks: error code is returned in lasterror . summary: configures the io pins for digital input, digital output and also the default output latch value. description: io pins can be configured as digital input, digital output. the default output latch value is received as a parameter. precondition: vid and pid must be previously set via a call to initmcp2200(vid, pid) . parameters: 1. uciomap - a byte that represents a bitmap used to set the gpios as either input or output. ?? 1 ? configures gpio as input ?? 0 ? configures gpio as output ? msb ? ? ? ? ? ? lsb gp7 gp6 gp5 gp4 gp3 gp2 gp1 gp0 2. ucdefvalue - the default value that will be loaded to the output latch (affects only the pins configured as outputs). returns: this function returns true if the transmission is successful and returns false if the transmission fails. remarks: error code is returned in lasterror . if (simpleioclass::configureio(0xa5) == success) lblstatusbar->text = ?success?; else lblstatusbar->text = ?invalid command ? + simpleioclass::lasterror; if (simpleioclass::configureiodefaultoutput(iomap, defvalue) == success) lblstatusbar->text = ?success?; else lblstatusbar->text = ?invalid command ? + simpleioclass::lasterror;
mcp2200 ds22228b-page 14 ? 2011 microchip technology inc. 2.3.1.4 configuremcp2200 function: bool simpleioclass::configureiodefaultoutput (unsigned long baudrateparam, unsigned int rxledmode, unsigned int txledmode, bool flow, bool uload, bool sspnd) example 2-4: 2.3.1.5 fnhardwareflowcontrol function: bool simpleioclass::fnhardwareflowcontrol (unsigned int onoff) example 2-5: summary: configures the device. description: sets the default gpio designation, baud rate, tx/rx led modes, flow control. precondition: vid and pid must be previously set via a call to initmcp2200(vid, pid) . parameters: 1. iomap - a byte which represents the input/output state of the pins (each bit may be either a ? 1 ? for input, and ? 0 ? for output. 2. baudrateparam - the default communication baud rate. 3. rxledmode - can take one of the constant values ( off , on , toggle , blinkslow , blinkfast ) to define the behavior of the rx led. ? off = 0 ? on = 1 ? toggle = 3 ? blinkslow = 4 ? blinkfast = 5 4. txledmode - can take one of the defined values ( off , on , toggle , blinkslow , blinkfast ) in order to define the behavior of the tx led. 5. flow - this parameter establishes the default flow control method (false - no hw flow control, true - rts /cts flow control). 6. uload - this parameter establishes when usb has loaded the configuration. 7. sspnd - this parameter establishes when usb send us the suspend mode. returns: this function returns true if the transmission is successful and returns false if the transmission fails. remarks: none. summary: configures the flow control of the mcp2200. the flow control configuration will be stored in nvram. description: sets the flow control to hw flow control (rts /cts ) or no flow control. precondition: vid and pid must be previously set via a call to initmcp2200(vid, pid) . parameters: onoff : ?? 1 ? if hw flow control is required ?? 0 ? if no flow control is required returns: this function returns true if the transmission is successful and returns false if the transmission fails. remarks: error code is returned in lasterror . if (simpleioclass::configuremcp2200(0x43, 9600, blinkslow, blinkfast, false, false, false) == success) lblstatusbar->text = ?success?; else lblstatusbar->text = ?invalid command ? if (simpleioclass::fnhardwareflowcontrol(1) == success) lblstatusbar->text = ?success?; else lblstatusbar->text = ?invalid command ? + simpleioclass::lasterror;
? 2011 microchip technology inc. ds22228b-page 15 mcp2200 2.3.1.6 fnrxled function: bool simpleioclass::fnrxled (unsigned int mode) example 2-6: 2.3.1.7 fnsetbaudrate function: bool simpleioclass::fnsetbaudrate (unsigned long baudrateparam) example 2-7: 2.3.1.8 fnsuspend function: bool simpleioclass::fnsuspend (unsigned int onoff) summary: configures the rx led mode. rx led configuration will be stored in nvram. description: sets the rx led mode to one of the possible values. precondition: vid and pid must be previously set via a call to initmcp2200(vid, pid) . parameters: mode (constant) : off , toggle , blinkslow , blinkfast returns: this function returns true if the transmission is successful and returns false if the transmission fails. remarks: error code is returned in lasterror . summary: configures the device?s default baud rate. the baud rate value will be stored in nvram description: sets the desired baud rate and it will store it into device?s nvram. precondition: vid and pid must be previously set via a call to initmcp2200(vid, pid) . parameters: baudrateparam - the desired baud rate value returns: this function returns true if the transmission is successful and returns false if the transmission fails. remarks: error code is returned in lasterror . this function is used only to set the default power-up baud rate value. when used with a terminal program, there is no need to call this function to change the baud rate. changing the baud rate from the terminal program, will send the appropriate cdc packet that will change the communication?s baud rate without the need to call this function. summary: configures the gp0 pin of the mcp2200 to show the status of suspend/resume usb states. description: when the gp0 is designated to show the usb suspend/resume states, the pin will go low when the suspend state is issued, or will go high when the resume state is on. precondition: vid and pid must be previously set via a call to initmcp2200(vid, pid) . parameters: onoff : ? ? 1 ? gp0 will reflect the usb suspend/resume states ? ? 0 ? gp0 will not reflect the usb suspend/resume states (can be used as gpio) returns: this function returns true if the transmission is successful and returns false if the transmission fails. remarks: error code is returned in lasterror . if (simpleioclass::fnrxled (blinkfast) == success) lblstatusbar->text = ?success?; else lblstatusbar->text = ?invalid command ? + simpleioclass::lasterror; if (simpleioclass::fnsetbaudrate(9600) == success) lblstatusbar->text = ?success?; else lblstatusbar->text = ?invalid command ? + simpleioclass::lasterror;
mcp2200 ds22228b-page 16 ? 2011 microchip technology inc. example 2-8: 2.3.1.9 fntxled function: bool simpleioclass::fntxled (unsigned int mode) example 2-9: 2.3.1.10 fnuload function: bool simpleioclass::fnuload (unsigned int onoff) example 2-10: summary: configures the tx led mode. tx led configuration will be stored in nvram. description: sets the tx led mode to one of the possible values. precondition: vid and pid must be previously set via a call to initmcp2200(vid, pid) . parameters: mode (constant) : off , toggle , blinkslow , blinkfast returns: this function returns true if the transmission is successful and returns false if the transmission fails. remarks: error code is returned in lasterror . summary: configures the gp1 pin of the mcp2200 to show the status of the usb configuration. description: when the gp1 is designated to show the usb configuration status, the pin will start low (during power-up or after reset), and it will go high after the mcp2200 is successfully configured by the host. precondition: vid and pid must be previously set via a call to initmcp2200(vid, pid) . parameters: onoff: ? ? 1 ? gp1 will reflect the usb configuration status ?? 0 ? gp1 will not reflect the usb configuration status (can be used as gpio) returns: this function returns true if the transmission is successful and returns false if the transmission fails. remarks: error code is returned in lasterror . if (simpleioclass::fnsuspend(1) == success) lblstatusbar->text = ?success?; else lblstatusbar->text = ?invalid command ? + simpleioclass::lasterror; if (simpleioclass::fntxled (blinkslow) == success) lblstatusbar->text = ?success?; else lblstatusbar->text = ?invalid command ? + simpleioclass::lasterror; if (simpleioclass::fnuload(1) == success) lblstatusbar->text = ?success?; else lblstatusbar->text = ?invalid command ? + simpleioclass::lasterror;
? 2011 microchip technology inc. ds22228b-page 17 mcp2200 2.3.1.11 getdeviceinfo function: string^ simpleioclass::getdeviceinfo (unsigned int uideviceno) example 2-11: 2.3.1.12 getnoofdevices function: unsigned int simpleioclass::getnoofdevices(void) example 2-12: 2.3.1.13 getselecteddevice function: int simpleioclass::getselecteddevice(void) summary: returns the path name for one of the connected devices. description: the function will return the path name for the given device id. precondition: at least one call to the initmcp2200() is required in order to initiate a dll search for the compatible devices. vid and pid must be previously set via a call to initmcp2200(vid, pid) . parameters: uideviceno: the device id for which the path information is needed. can have a value between 0 and the number of devices minus 1. returns: this function returns a string containing the path name of the given device id. ? in the case the given id is out of range, the function will return the ? device index error ? string. ? in the case the device for which the path name is required is not connected anymore, the return string will be ? device not connected ?. remarks: none. summary: the function returns the number of available devices present in the system. description: the function returns the number of hid devices (with the given vid/pid) connected to the system. precondition: at least one call to the initmcp2200() is required in order to initiate a dll search for the compatible devices. also, in order to know the actual number of devices connected to the system, call the simpleioclass::isconnected() function. vid and pid must be previously set via a call to initmcp2200(vid, pid) . parameters: none. returns: this function returns the number of hid devices with the given vid/pid (as parameters of simpleioclass::initmcp2200() function). remarks: call the simpleioclass::isconnected() prior to the call of this function in order to have the most recent number of devices that are present in the system. summary: returns the id of the selected device description: the function returns the id of the current selected device. precondition: at least one call to the initmcp2200() is required in order to initiate a dll search for the compatible devices. vid and pid must be previously set via a call to initmcp2200(vid, pid) . parameters: none. returns: this function returns the id of the current selected device. its value can range from 0 to the number of devices minus 1. remarks: none. lblstatusbar->text = simpleioclass::getdeviceinfo(0); simpleioclass::isconnected(); //call this function to refresh the number of //the devices present in the system lblstatusbar->text = simpleioclass::getnoofdevices();
mcp2200 ds22228b-page 18 ? 2011 microchip technology inc. example 2-13: 2.3.1.14 getselecteddeviceinfo function: string^ simpleioclass::getselecteddeviceinfo(void) example 2-14: 2.3.1.15 initmcp2200 function: void simpleioclass::initmcp2200 (unsigned int vendorid, unsigned int productid) example 2-15: 2.3.1.16 isconnected function: bool simpleioclass::isconnected() summary: returns the selected device path name. description: the function returns a string containing the unique path name of the selected device. precondition: at least one call to the initmcp2200() is required in order to initiate a dll search for the compatible devices. vid and pid must be previously set via a call to initmcp2200(vid, pid) . parameters: none. returns: this function returns a string containing the unique path name of the selected device. remarks: the default selected device is the first one that the dll finds. if the user wants to retrieve other devices path names (assuming more than one device is present in the system), a call to simpleioclass::selectdevice(deviceno) is required. summary: configures the simple io class for a specific vendor and product id. description: sets the vendor and product id used for the project. precondition: none. parameters: 1. vendor id - assigned by usb if ( www.usb.org ) 2. product id - assigned by the vendor id holder returns: none. remarks: call this function before any other calls, to set the vendor and product ids. summary: checks with the os if the current vid/pid device is connected. description: checks if a mcp2200 is connected to the computer. if so, it returns true, otherwise the result will be false. precondition: vid and pid must be previously set via a call to initmcp2200(vid, pid) . parameters: none. returns: true - if at least one device is connected to the host. false - if there are no devices connected to the host. remarks: no actual communication with the end device is occurring. the function inquires the os if the specified vid/pid was enumerated. lblstatusbar->text = simpleioclass::getselecteddevice(); lblstatusbar->text = simpleioclass::getselecteddeviceinfo(void) initmcp2200 (0x4d8, 0x00df);
? 2011 microchip technology inc. ds22228b-page 19 mcp2200 example 2-16: 2.3.1.17 readeeprom function: int simpleioclass::readeeprom (unsigned int uieepaddress) example 2-17: 2.3.1.18 readpin function: bool simpleioclass::readpin (unsigned int pin, unsigned int *returnvalue) example 2-18: summary: reads a byte from the eeprom. description: reads a byte from the eeprom at the given address. precondition: at least one call to the initmcp2200() is required in order to initiate a dll search for the compatible devices. vid and pid must be previously set via a call to initmcp2200(vid, pid) . parameters: uieepaddress - the eeprom address location we need to write to (must be from 0 to 255, inclu- sively). returns: this function returns any positive value as being the eeprom?s location value: ? e_wrong_address (-3) - in case the given eeprom address is out of range ? e_cannot_send_data (-4) - in case the function cannot send the command to the device remarks: none. summary: reads the specified pin. description: reads the specified pin and returns the value in returnvalue . if the pin has been configured as a digital input, the return value will be either ? 0 ? or ? 1 ?. precondition: must be previously configured as an input via a configureio call. vid and pid must be previously set via a call to initmcp2200(vid, pid) . parameters: ? pin - the pin number to set (0-7) ? returnvalue - the value read on the pin (? 0 ? or ? 1 ?) returns: this function returns true if the transmission is successful and returns false if the transmission fails. remarks: none. unsigned int rv; if (simpleioclass::isconnected ()) { lblstatusbar->text = ?device connected?; } else lblstatusbar->text = ?device disconnected?; int iretvalue = simpleioclass::readeeprom(0x01); if (iretvalue >= 0) { lblstatusbar->text = ?success?; } else lblstatusbar->text = ?error reading to eeprom? + simpleioclass::lasterror; unsigned int rv; if (simpleioclass::readgpion (0, &rv)) { lblstatusbar->text = ?success?; } else lblstatusbar->text = ?invalid command ? + simpleioclass::lasterror;
mcp2200 ds22228b-page 20 ? 2011 microchip technology inc. 2.3.1.19 readpinvalue function: int simpleioclass::readpinvalue(unsigned int pin) example 2-19: 2.3.1.20 readport function: b ool simpleioclass::readport(unsigned int *returnvalue) example 2-20: summary: reads the specified pin. description: reads the specified pin and returns the value as the return value. if the pin has been configured as a digital input, the return value will be either ? 0 ? or ? 1 ?. if an error occurs, the function will return a value of 0x8000. precondition: must be previously configured as an input via a configureio call. vid and pid must be previously set via a call to initmcp2200(vid, pid) . parameters: pin - the pin number to set (0-7) returns: this function returns the read value of the pin, or returns a value of 0x8000, if an error occurs. remarks: none. summary: reads the gpio port as digital input. description: reads the gpio port and returns the value in returnvalue . this provides a means to read all pins simultaneously, instead of one-by-one. precondition: must be previously configured as an input via a configureio call. vid and pid must be previously set via a call to initmcp2200(vid, pid) . parameters: ? pin - the pin number to set (0-7) ? returnvalue - the value read on the pin (? 0 ? or ? 1 ?) returns: this function returns true if the transmission is successful and returns false if the transmission fails. remarks: pins configured for output return the current state of the port. pins configured as input read as zero. unsigned int rv; if (simpleioclass::readpinvalue(0) != 0x8000) { lblstatusbar->text = ?success?; } else lblstatusbar->text = ?invalid command ? + simpleioclass::lasterror; unsigned int rv; if (simpleioclass::readgpioport (0, &rv)) { lblstatusbar->text = ?success?; } else lblstatusbar->text = ?invalid command ? + simpleioclass::lasterror;
? 2011 microchip technology inc. ds22228b-page 21 mcp2200 2.3.1.21 readportvalue function: int simpleioclass::readportvalue() example 2-21: 2.3.1.22 selectdevice function: int simpleioclass::selectdevice(unsigned int uideviceno) example 2-22: summary: reads the gpio port as digital input. description: reads the gpio port and returns the value of the port. this provides a method to read all pins simultaneously, instead of one-by-one. in case of an error, the returned value will be 0x8000. precondition: must be previously configured as an input via a configureio call. vid and pid must be previously set via a call to initmcp2200(vid, pid) . parameters: none. returns: this function returns true if the transmission is successful and returns false if the transmission fails. remarks: pins configured for output return the current state of the port. pins configured as input read as zero. summary: selects one of the active devices in the system. description: the function is used to select one of the detected devices in the system as the ?active device?. precondition: at least one call to the initmcp2200() is required in order to initiate a dll search for the compatible devices. also, in order to know the actual number of devices in the system, call the simpleioclass::isconnected() function. vid and pid must be previously set via a call to initmcp2200(vid, pid) . parameters: uideviceno - the id of the device to be selected (can have a value between 0 and the number of devices minus 1). returns: this function returns ? 0 ? in case of selection success, otherwise it will return: ? e_wrong_device_id (-1) for a device id that is out of range ? e_inactive_device (-2) for an inactive device. remarks: call the simpleioclass::isconnected() prior to the call of this function in order to have the most recent number of devices that are present in the system. int rv; rv = simpleioclass::readportvalue() if (rv != 0x8000) { lblstatusbar->text = ?success?; } else lblstatusbar->text = ?invalid command ? + simpleioclass::lasterror; int iresult; iresult = simpleioclass::selectdevice(1) if (iresult == 0) { lblstatusbar->text = ?success?; } else lblstatusbar->text = ?error selecting device?;
mcp2200 ds22228b-page 22 ? 2011 microchip technology inc. 2.3.1.23 setpin function: bool simpleioclass::setpin(unsigned int pin) example 2-23: 2.3.1.24 writeeeprom function: int simpleioclass::writeeeprom(unsigned int uieepaddress, unsigned char ucvalue) example 2-24: summary: sets the specified pin. description: sets the specified pin to logic ? 1 ? . precondition: must be previously configured as an output via a configureio or configureiodefaultoutput call. vid and pid must be previously set via a call to initmcp2200(vid, pid) . parameters: pin - the pin number to set (0-7) returns: this function returns true if the transmission is successful and returns false if the transmission fails. remarks: none. summary: writes a byte into the mcp2200?s eeprom. description: writes a byte at the given address into the internal 256 bytes eeprom. precondition: at least one call to the initmcp2200() is required in order to initiate a dll search for the compatible devices. vid and pid must be previously set via a call to initmcp2200(vid, pid) . parameters: ? uieepaddress - the eeprom address location we need to write to (must be from 0 to 255 inclusively). ? ucvalue - the byte value required for writing to the given location. returns: this function returns ? 0 ? if the write command was successfully sent to the device, otherwise it returns: ? e_wrong_address (-3) in case the given eeprom address is out of range ? e_cannot_send_data (-4) in case the function cannot send the command to the device. remarks: the function will send the write eeprom command, but has no confirmation whether the eeprom location was actually written. in order to verify the correctness of the eeprom write, the user can issue a simpleioclass::readeeprom() and check if the returned value matches the written one. if (simpleioclass::setpin (2)) { lblstatusbar->text = ?success?; } else lblstatusbar->text = ?invalid command ? + simpleioclass::lasterror; int iretvalue = simpleioclass::writeeeprom(0x01, 0xab); if (iretvalue == 0) { lblstatusbar->text = ?success?; } else lblstatusbar->text = ?error writting to eeprom? + simpleioclass::lasterror;
? 2011 microchip technology inc. ds22228b-page 23 mcp2200 2.3.1.25 writeport function: bool simpleioclass::writeport(unsigned int portvalue) example 2-25: summary: writes a value to the gpio port. description: writes the gpio port. this provides a means to write all pins at simultaneously, instead of one-by- one. precondition: must be previously configured as an output via a configureio call. vid and pid must be previously set via a call to initmcp2200(vid, pid) . parameters: portvalue - byte value to set on the port. returns: this function returns true if the transmission is successful and returns false if the transmission fails. remarks: none. if (simpleioclass::writeport (0x5a)) { lblstatusbar->text = ?success?; } else lblstatusbar->text = ?invalid command ? + simpleioclass::lasterror;
mcp2200 ds22228b-page 24 ? 2011 microchip technology inc. notes:
? 2011 microchip technology inc. ds22228b-page 25 mcp2200 3.0 electrical characteristics absolute maximum ratings (?) ambient temperature under bias................................................................................................. ........ -40c to +85c storage temperature ............................................................................................................ ............ -65c to +150c voltage on v dd with respect to v ss ................................................................................................... -0.3v to +6.0v voltage on mclr with respect to vss ................................................................................................. -0.3v to +9.0v voltage on v usb pin with respect to v ss ............................................................................................ -0.3v to +4.0v voltage on d+ and d- pins with respect to v ss ...................................................................... -0.3v to (v usb + 0.3v) voltage on all other pins with respect to v ss ........................................................................... -0.3v to (v dd + 0.3v) total power dissipation ( 1 ) ............................................................................................................................... 800 mw maximum current out of v ss pin ...................................................................................................................... 95 ma maximum current into v dd pin ......................................................................................................................... 9 5ma clamp current, i k (v pin < 0 or v pin > v dd ) ??????????????????????????????????????????????????????????????? ??????????????????????????????????????????????????? 20 ma maximum output current sunk by any i/o pin..................................................................................... ............... 25 ma maximum output current sourced by any i/o pin .................................................................................. ............ 25 ma maximum current sunk by all ports .............................................................................................. ..................... 90 ma maximum current sourced by all ports ........................................................................................... .................. 90 ma note 1: power dissipation is calculated as follows: p dis = v dd x {i dd ? ? i oh } + ? {(v dd ? v oh ) x i oh } + ? (v o l x i ol ). 2: v usb must always be ? v dd + 0.3v ? notice: stresses above those listed under ?absolute maximum ratings? may cause permanent damage to the device. this is a stress rating only and functional operation of the device at those or any other conditions above those indicated in the operation listings of this specification is not implied. exposure above maximum rating conditions for extended periods may affect device reliability.
mcp2200 ds22228b-page 26 ? 2011 microchip technology inc. 3.1 dc characteristics dc characteristics operating conditions (unless otherwise indicated): 3.0v ?? v dd ? 5.5v at -40 ? c ? t a ? +85 ? c (i-temp) param no. characteristic sym min typ max units conditions d001 supply voltage v dd 3.0 ? 5.5 v power-on reset release voltage v por 1.6 v power-on reset rearm voltage 0.8 v d003 v dd rise rate to ensure power-on reset sv dd 0.05 ? ? v/ms design guidance only not tested d004 supply current i dd vdd = 3.0v ? 10 12 ma f osc = 12 mhz, (330 nf on v usb ) vdd = 5.0v ? 13 15 ma d005 standby current i dds ?9?a input low-voltage d031 schmitt trigger (gpio) v il ??0.2v dd v 3.0v ?? v dd ? 5.5v ttl (cts pin) ? ? 0.8 4.5v ?? v dd ? 5.5v input high-voltage d041 schmitt trigger (gpio) v ih 0.8 v dd ?v dd v 3.0v ?? v dd ? 5.5v ttl (rts pin) 2.0 ? v dd 4.5v ?? v dd ? 5.5v input leakage current d060 gpio, cts i il ? 50 100 na v ss ?? v pin ?? v dd , pin at hi-z rst 50 200 osc1 50 100 output low-voltage d080 gpio, uart tx/rx v ol ??0.6vi ol = 8.0 ma, v dd = 5.0v ??0.6 i ol = 6.0 ma, v dd = 3.3v output high-voltage d090 gpio, uart tx/rx v oh v dd ? 0.7 ? ? v i oh = -3.5 ma, v dd = 5.0v v dd ? 0.7 ? ? i oh = -3.0 ma, v dd = 3.3v capacitive loading specs on output pins d101 osc2 c osc 2 ??15pf note 1 d102 gpio c io ??50pf note 1 note 1: this parameter is characterized, but not tested.
? 2011 microchip technology inc. ds22228b-page 27 mcp2200 figure 3-1: por and por rearm with slow rising v dd v dd v por v porr v ss v ss npor ( 1 ) t por ( 3 ) por rearm note 1: when npor is low, the device is held in reset. 2: t por 1 ? s typical. 3: t vlow 2.7 ? s typical. t vlow ( 2 ) table 3-1: usb modul e specifications dc characteristics operating conditions (unless otherwise indicated): 3.0v ?? v dd ? 5.5v at -40 ? c ? t a ? +85 ? c (i-temp) param no. characteristic sym min typ max units conditions d313 usb voltage v usb 3.0 ? 3.6 v voltage on v usb pin must be in this range for proper usb operation d314 input leakage on pin i il ??1 av ss ?? v pin ?? v dd pin at ? high-impedance d315 input low voltage for usb buffer v ilusb ??0.8vfor v usb range d316 input high voltage for usb buffer v ihusb 2.0 ? ? v for v usb range d318 differential input sensitivity v difs ? ? 0.2 v the difference between d+ and d- must exceed this value while v cm is met d319 differential common mode range v cm 0.8 ? 2.5 v d320 driver output impedance ( 1 ) z out 28 ? 44 ? d321 voltage output low v ol 0.0 ? 0.3 v 1.5 k ?? load connected to 3.6v d322 voltage output high v oh 2.8 ? 3.6 v 1.5 k ?? load connected to ground note 1: the d+ and d- signal lines have been built-in impedance matching resistors. no external resistors, capacitors or magnetic components are necessary on the d+/d- signal paths between the mcp2200 family device and the usb cable.
mcp2200 ds22228b-page 28 ? 2011 microchip technology inc. table 3-2: thermal considerations standard operating conditions (unless otherwise stated) operating temperature -40 ? c ? t a ? +85 ? c (i-temp) param no. sym characteristic typ units conditions th01 ja thermal resistance junction to ambient 85.2 ? c/w 20-pin soic package 108.1 ? c/w 20-pin ssop package 36.1 ? c/w 20-pin qfn 5x5 mm package th02 jc thermal resistance junction to case 24 ? c/w 20-pin soic package 24 ? c/w 20-pin ssop package 1.7 ? c/w 20-pin qfn 5x5 mm package th03 t jmax maximum junction temperature 150 ? c th04 pd power dissipation ? w pd = p internal + p i / o th05 p internal internal power dissipation ? w p internal = i dd x v dd (1) th06 p i / o i/o power dissipation ? w p i / o = ? (i ol * v ol ) + ? (i oh * (v dd ? v oh )) th07 p der derated power ? w p der = pd max (t j - t a )/ ja (2,3) note 1: i dd is the current to run the chip alone without driving any load on the output pins. 2: t a = ambient temperature. 3: t j = junction temperature.
? 2011 microchip technology inc. ds22228b-page 29 mcp2200 3.2 ac characteristics 3.2.1 timing parameter symbology the timing parameter symbols have been created in one of the following formats: 3.2.2 timing conditions the operating temperature and voltage specified in table 3-3 apply to all timing specifications unless other- wise noted. figure 3-2 specifies the load conditions for the timing specifications. table 3-3: temperature and volt age specifications - ac figure 3-2: load conditions for device timing specifications 1. tpps2pps 2. tpps t f frequency t time e error lowercase letters (pp) and their meanings: pp io input or output pin osc oscillator rx receive tx transmit bitclk rx/tx bitclk rst reset drt device reset timer uppercase letters and their meanings: s ffall pperiod hhigh rrise i invalid (high-impedance) v valid l low z high-impedance ac characteristics standard operating conditions (unless otherwise stated) operating temperature -40 ? c ? t a ? +85 ? c operating voltage v dd range as described in dc spec, section 3.1 ?dc characteristics? . 50 pf (15 pf for osc2) pin
mcp2200 ds22228b-page 30 ? 2011 microchip technology inc. 3.2.3 timing diagrams and specifications table 3-4: reset, oscillator start-up timer and power-up timer parameters standard operating conditions (unless otherwise stated) operating temperature -40c ?? t a ?? +85c param no. sym characteristic min typ ? max units conditions 30 t rst mclr pulse width (low) 2?? s 31 t pwrt power-up timer 40 65 140 ms 32 t ost oscillator startup time ? 1024 ? t ost * these parameters are characterized but not tested. ? data in ?typ? column is at 5v, 25c unless otherwise stated. these parameters are for design guidance only and are not tested.
? 2011 microchip technology inc. ds22228b-page 31 mcp2200 4.0 packaging information 4.1 package marking information legend: xx...x customer-specific information y year code (last digit of calendar year) yy year code (last 2 digits of calendar year) ww week code (week of january 1 is week ?01?) nnn alphanumeric traceability code pb-free jedec designator for matte tin (sn) * this package is pb-free. the pb-free jedec designator ( ) can be found on the outer packaging for this package. note : in the event the full microchip part number cannot be marked on one line, it will be carried over to the next line, thus limiting the number of available characters for customer-specific information. 3 e 3 e 20-lead soic example: xxxxxxxxxxxxxx xxxxxxxxxxxxxx yywwnnn 20-lead qfn example xxxxx xxxxxx xxxxxx ywwnnn mcp2200 i/mq^ ^ 1042256 3 e 20-lead ssop example: xxxxxxxxxxxxxx i/so ^^ 1042256 mcp2200 xxxxxxxxxxx xxxxxxxxxxx yywwnnn ^^ 3 e i/ss ^^ 1042256 mcp2200 3 e
mcp2200 ds22228b-page 32 ? 2011 microchip technology inc. 20-lead plastic quad flat, no lead package (mq) ? 5x5x0.9 mm body [qfn] note: for the most current package drawings, please see the microchip packaging specification located at http://www.microchip.com/packaging microchip technology drawing c04-120a
? 2011 microchip technology inc. ds22228b-page 33 mcp2200 note: for the most current package drawings, please see the microchip packaging specification located at http://www.microchip.com/packaging
mcp2200 ds22228b-page 34 ? 2011 microchip technology inc. 
           !"# $  %   !" # $% &" '  ()"&'"!&)  & #*&&  & #    + % &,  & !& - ' !! #.#&"# '#% !
&"!!#% !
&"!!! & $ #/''
!#   ' !  #&   
.0/ 1,2 1 !' !  &  $ & " !**&"&&   ! .32  %   ' !("!" *&"&&   (%%' &
"
! ! $ % 3& '!&" &
4 # * !(
 ! ! & 
 4  
% & & # & &&
255***'
'5
4  6&! 77.. ' !7'&! 8 89 : 8"') %! 8  & 1, 9  ;  &  < < =/ # # 4 4 !!  / < < & #%%+   < - 9  >#& . -1, # # 4 >#& . /1, 9  7  &  1, , '% ?
& @  / < / 3&7  & 7  <  3&
& 7 .3 3&  a < a 7 #4 !!   < -- 7 #>#& ) - < / # %&  
/a < /a # %&  1&&' /a < /a d e e1 e b 123 note 1 a a1 a2 h h c l1 l n 
    * , 1
? 2011 microchip technology inc. ds22228b-page 35 mcp2200 note: for the most current package drawings, please see the microchip packaging specification located at http://www.microchip.com/packaging
mcp2200 ds22228b-page 36 ? 2011 microchip technology inc. 
  &'(      )   
# $  %   !" # $% &" '  ()"&'"!&)  & #*&&  & #    ' !! #.#&"# '#% !
&"!!#% !
&"!!! & $ #''
!#  - ' !  #&   
.0/ 1,2 1 !' !  &  $ & " !**&"&&   ! .32  %   ' !("!" *&"&&   (%%' &
"
! ! $ % 3& '!&" &
4 # * !(
 ! ! & 
 4  
% & & # & &&
255***'
'5
4  6&! 77.. ' !7'&! 8 89 : 8"') %! 8  & =/1, 9  ;  &  < <  # # 4 4 !!  =/ / / & #%%  / < < 9  >#& .    # # 4 >#& . / /- /= 9  7  &  =  / 3&7  & 7 // / / 3&
& 7 /.3 7 #4 !!   < / 3&  a a a 7 #>#& )  < - l l1 a2 c e b a1 a 12 note 1 e1 e d n 
    * , 1
? 2011 microchip technology inc. ds22228b-page 37 mcp2200 note: for the most current package drawings, please see the microchip packaging specification located at http://www.microchip.com/packaging
mcp2200 ds22228b-page 38 ? 2011 microchip technology inc. notes:
? 2011 microchip technology inc. ds22228b-page 39 mcp2200 appendix a: revision history revision b (march 2011) the following is the list of modifications: 1. added new section section 1.5.2 ?mcp2200 power options? . 2. updated entire section 2.3 ?simple configu- ration and i/o dll? . 3. added values to parameters th01 and th02 for the 20-lead 5x5 qfn package in table 3-2 . revision a (march 2010) original release of this document.
mcp2200 ds22228b-page 40 ? 2011 microchip technology inc. notes:
? 2011 microchip technology inc. ds22228b-page 41 mcp2200 product identification system to order or obtain information, e.g., on pricing or delivery, contact your local microchip sales office . device mcp2200: usb-to-uart serial converter mcp2200t: usb-to-uart serial converter (tape and reel) temperature range i = -40 ? c to +85 ? c (industrial) package mq = plastic quad flat, no lead package 5x5x0.9 mm body (qfn), 20-lead so = plastic small outline - wide, 7.50 mm body (so), 20-lead ss = plastic shrink small outline - 5.30 mm body (ss) 20-lead examples: a) mcp2200- i/mq: industrial temperature, 20ld qfn package. b) mcp2200t- i/mq: tape and reel, industrial temperature, 20ld qfn package. a) mcp2200- i/so: industrial temperature, 20ld soic package. b) mcp2200t- i/so: tape and reel, industrial temperature, 20ld soic package. a) mcp2200- i/ss: industrial temperature, 20ld ssop package. b) mcp2200t- i/ss: tape and reel, industrial temperature, 20ld ssop package. part no. x /xx package temperature range device
mcp2200 ds22228b-page 42 ? 2011 microchip technology inc. notes:
? 2011 microchip technology inc. ds22228b-page 43 information contained in this publication regarding device applications and the like is provided only for your convenience and may be superseded by updates. it is your responsibility to ensure that your application meets with your specifications. microchip makes no representations or warranties of any kind whether express or implied, written or oral, statutory or otherwise, related to the information, including but not limited to its condition, quality, performance, merchantability or fitness for purpose . microchip disclaims all liability arising from this information and its use. use of microchip devices in life support and/or safety applications is entirely at the buyer?s risk, and the buyer agrees to defend, indemnify and hold harmless microchip from any and all damages, claims, suits, or expenses resulting from such use. no licenses are conveyed, implicitly or otherwise, under any microchip intellectual property rights. trademarks the microchip name and logo, the microchip logo, dspic, k ee l oq , k ee l oq logo, mplab, pic, picmicro, picstart, pic 32 logo, rfpic and uni/o are registered trademarks of microchip technology incorporated in the u.s.a. and other countries. filterlab, hampshire, hi-tech c, linear active thermistor, mxdev, mxlab, seeval and the embedded control solutions company are registered trademarks of microchip technology incorporated in the u.s.a. analog-for-the-digital age, appl ication maestro, codeguard, dspicdem, dspicdem.net, dspicworks, dsspeak, ecan, economonitor, fansense, hi-tide, in-circuit serial programming, icsp, mindi, miwi, mpasm, mplab certified logo, mplib, mplink, mtouch, omniscient code generation, picc, picc-18, picdem, picdem.net, pickit, pictail, real ice, rflab, select mode, total endurance, tsharc, uniwindriver, wiperlock and zena are trademarks of microchip tec hnology incorporated in the u.s.a. and other countries. sqtp is a service mark of microchip technology incorporated in the u.s.a. all other trademarks mentioned herein are property of their respective companies. ? 2011, microchip technology incorporated, printed in the u.s.a., all rights reserved. printed on recycled paper. isbn: 978-1-60932-841-2 note the following details of the code protection feature on microchip devices: ? microchip products meet the specification cont ained in their particular microchip data sheet. ? microchip believes that its family of products is one of the most secure families of its kind on the market today, when used i n the intended manner and under normal conditions. ? there are dishonest and possibly illegal methods used to breach the code protection feature. all of these methods, to our knowledge, require using the microchip produc ts in a manner outside the operating specif ications contained in microchip?s data sheets. most likely, the person doing so is engaged in theft of intellectual property. ? microchip is willing to work with the customer who is concerned about the integrity of their code. ? neither microchip nor any other semiconduc tor manufacturer can guarantee the security of their code. code protection does not mean that we are guaranteeing the product as ?unbreakable.? code protection is constantly evolving. we at microchip are co mmitted to continuously improvin g the code protection features of our products. attempts to break microchip?s code protection feature may be a violation of the digital millennium copyright act. if such acts allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that act. microchip received iso/ts-16949:2002 certification for its worldwide headquarters, design and wafer fabrication facilities in chandler and tempe, arizona; gresham, oregon and design centers in california and india. the company?s quality system processes and procedures are for its pic ? mcus and dspic ? dscs, k ee l oq ? code hopping devices, serial eeproms, microperipherals, nonvolatile memory and analog products. in addition, microchip?s quality system for the design and manufacture of development systems is iso 9001:2000 certified.
ds22228b-page 44 ? 2011 microchip technology inc. americas corporate office 2355 west chandler blvd. chandler, az 85224-6199 tel: 480-792-7200 fax: 480-792-7277 technical support: http://support.microchip.com web address: www.microchip.com atlanta duluth, ga tel: 678-957-9614 fax: 678-957-1455 boston westborough, ma tel: 774-760-0087 fax: 774-760-0088 chicago itasca, il tel: 630-285-0071 fax: 630-285-0075 cleveland independence, oh tel: 216-447-0464 fax: 216-447-0643 dallas addison, tx tel: 972-818-7423 fax: 972-818-2924 detroit farmington hills, mi tel: 248-538-2250 fax: 248-538-2260 kokomo kokomo, in tel: 765-864-8360 fax: 765-864-8387 los angeles mission viejo, ca tel: 949-462-9523 fax: 949-462-9608 santa clara santa clara, ca tel: 408-961-6444 fax: 408-961-6445 toronto mississauga, ontario, canada tel: 905-673-0699 fax: 905-673-6509 asia/pacific asia pacific office suites 3707-14, 37th floor tower 6, the gateway harbour city, kowloon hong kong tel: 852-2401-1200 fax: 852-2401-3431 australia - sydney tel: 61-2-9868-6733 fax: 61-2-9868-6755 china - beijing tel: 86-10-8528-2100 fax: 86-10-8528-2104 china - chengdu tel: 86-28-8665-5511 fax: 86-28-8665-7889 china - chongqing tel: 86-23-8980-9588 fax: 86-23-8980-9500 china - hong kong sar tel: 852-2401-1200 fax: 852-2401-3431 china - nanjing tel: 86-25-8473-2460 fax: 86-25-8473-2470 china - qingdao tel: 86-532-8502-7355 fax: 86-532-8502-7205 china - shanghai tel: 86-21-5407-5533 fax: 86-21-5407-5066 china - shenyang tel: 86-24-2334-2829 fax: 86-24-2334-2393 china - shenzhen tel: 86-755-8203-2660 fax: 86-755-8203-1760 china - wuhan tel: 86-27-5980-5300 fax: 86-27-5980-5118 china - xian tel: 86-29-8833-7252 fax: 86-29-8833-7256 china - xiamen tel: 86-592-2388138 fax: 86-592-2388130 china - zhuhai tel: 86-756-3210040 fax: 86-756-3210049 asia/pacific india - bangalore tel: 91-80-3090-4444 fax: 91-80-3090-4123 india - new delhi tel: 91-11-4160-8631 fax: 91-11-4160-8632 india - pune tel: 91-20-2566-1512 fax: 91-20-2566-1513 japan - yokohama tel: 81-45-471- 6166 fax: 81-45-471-6122 korea - daegu tel: 82-53-744-4301 fax: 82-53-744-4302 korea - seoul tel: 82-2-554-7200 fax: 82-2-558-5932 or 82-2-558-5934 malaysia - kuala lumpur tel: 60-3-6201-9857 fax: 60-3-6201-9859 malaysia - penang tel: 60-4-227-8870 fax: 60-4-227-4068 philippines - manila tel: 63-2-634-9065 fax: 63-2-634-9069 singapore tel: 65-6334-8870 fax: 65-6334-8850 taiwan - hsin chu tel: 886-3-6578-300 fax: 886-3-6578-370 taiwan - kaohsiung tel: 886-7-213-7830 fax: 886-7-330-9305 taiwan - taipei tel: 886-2-2500-6610 fax: 886-2-2508-0102 thailand - bangkok tel: 66-2-694-1351 fax: 66-2-694-1350 europe austria - wels tel: 43-7242-2244-39 fax: 43-7242-2244-393 denmark - copenhagen tel: 45-4450-2828 fax: 45-4485-2829 france - paris tel: 33-1-69-53-63-20 fax: 33-1-69-30-90-79 germany - munich tel: 49-89-627-144-0 fax: 49-89-627-144-44 italy - milan tel: 39-0331-742611 fax: 39-0331-466781 netherlands - drunen tel: 31-416-690399 fax: 31-416-690340 spain - madrid tel: 34-91-708-08-90 fax: 34-91-708-08-91 uk - wokingham tel: 44-118-921-5869 fax: 44-118-921-5820 worldwide sales and service 08/04/10


▲Up To Search▲   

 
Price & Availability of MCP220011

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X